How Efficient Can Memory Checking Be?
نویسندگان
چکیده
We consider the problem of memory checking, where a user wants to maintain a large database on a remote server but has only limited local storage. The user wants to use the small (but trusted and secret) local storage to detect faults in the large (but public and untrusted) remote storage. A memory checker receives from the user store and retrieve operations to the large database. The checker makes its own requests to the (untrusted) remote storage and receives answers to these requests. It then uses these responses, together with its small private and reliable local memory, to ascertain that all requests were answered correctly, or to report faults in the remote storage (the public memory). A fruitful line of research investigates the complexity of memory checking in terms of the number of queries the checker issues per user request (query complexity) and the size of the reliable local memory (space complexity). Blum et al., who first formalized the question, distinguished between online checkers (that report faults as soon as they occur) and offline checkers (that report faults only at the end of a long sequence of operations). In this work we revisit the question of memory checking, asking how efficient can memory checking be? For online checkers, Blum et al. provided a checker with logarithmic query complexity in n, the database size. Our main result is a lower bound: we show that for checkers that access the remote storage in a deterministic and non-adaptive manner (as do all known memory checkers), their query complexity must be at least Ω(log n/ log log n). To cope with this negative result, we show how to trade off the read and write complexity of online memory checkers: for any desired logarithm base d, we construct an online checker where either reading or writing is inexpensive and has query complexity O(logd n). The price for this is that the other operation (write or read respectively) has query complexity O(d · logd n). Finally, if even this performance is unacceptable, offline memory checking may be an inexpensive alternative. We provide a scheme with O(1) amortized query complexity, improving Blum et al.’s construction, which only had such performance for long sequences of at least n operations. ∗Microsoft Research, Silicon Valley Campus, 1065 La Avenida Mountain View, CA. 94043 USA; email: [email protected] †Incumbent of the Judith Kleeman Professorial Chair, Department of Computer Science and Applied Math, The Weizmann Institute of Science, Rehovot 76100, Israel; email: [email protected]. Research supported in part by a grant from the Israel Science Foundation. ‡MIT, Cambridge, USA; email: [email protected]. Research supported by NSF Grants CCF-0635297, NSF-0729011, CNS-0430336, Israel Science Foundation Grant 700/08 and by a Symantec Graduate Fellowship. §IBM Research. Supported in part by NSF grants CCF-0635297 and Israel Science Foundation 700/08.
منابع مشابه
Reachability checking in complex and concurrent software systems using intelligent search methods
Software system verification is an efficient technique for ensuring the correctness of a software product, especially in safety-critical systems in which a small bug may have disastrous consequences. The goal of software verification is to ensure that the product fulfills the requirements. Studies show that the cost of finding and fixing errors in design time is less than finding and fixing the...
متن کاملبررسی آزمایشی مشکلات حافظه در مبتلایان به نوع وارسی اختلال وسواسی- اجباری
Abstract Introduction: The objective of this research was to determine memory problems (episodic memory, memory bias and memory confidence) in checking type obsessive-compulsive disorder (OCD). Method: Sixty individuals with OCD (30 checking and 30 washing types) were selected, together with 60 control individuals (30 with generalized anxiety disorder and 30 normal). The groups matched the che...
متن کاملEfficient instance retrieval over semi-expressive ontologies
In the last years, the vision of the Semantic Web fostered the interest in reasoning over growing sets of assertional statements in ontologies. Traditional tableau-based reasoning systems have problems to answer queries over large ontological data sets because these reasoning systems are based on efficient use of main memory data structures. Increasing expressivity and worst-case complexity fur...
متن کاملModeling storage and retrieval of memories in the brain
We have proposed a neural network model that stores the incoming information after orthogonalizing it in the same manner as vectors are orthogonalized. The scheme enables the brain to compare a new informational system with those in the memory and store its similarities and differences with the old memories in an economical manner. This allows the brain to have an enormous capacity and yet the ...
متن کاملModeling storage and retrieval of memories in the brain
We have proposed a neural network model that stores the incoming information after orthogonalizing it in the same manner as vectors are orthogonalized. The scheme enables the brain to compare a new informational system with those in the memory and store its similarities and differences with the old memories in an economical manner. This allows the brain to have an enormous capacity and yet the ...
متن کاملMemory efficient state-space analysis in software model-checking
Formal methods have an unprecedented ability to endorse the correctness of a system. In spite of that, it has been limited to safety-critical and mission-critical systems owing to significant time and memory costs involved. Lately, our ever increasing dependency on software in all walks of our life has necessitated using formal methods for a wider range of softwares. In this paper, we propose a...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009